import { ElNotification } from 'element-plus'

// 梅花易数排盘API接口
import {
    paiPanApi // 开始排盘
} from '@/api/paipan/meihua-api.js'

export default {
    el: 'app',
    data() {
        return {

            // 选项
            options: {
                name: '', // 姓名
                occupy: '', // 占事
                date: '', // 日期
                leapMonth: 0, // 是否闰月（true:是。false:否）
                dateType: 0, // 日期类型
                sex: 1, // 性别
                qiGuaMode: 0, // 起卦模式（0:日期。1:数字。2:单数。3:双数）
                number: '111', // 数字
                danNumber: '123', // 单数
                shuangNumber1: '111', // 双数一
                shuangNumber2: '123', // 双数二
                shuangNumberInSx: 1, // 双数计算上下卦（0:双数求和计算上下卦。1:双数不求和计算上下卦）
                shuangNumberInDong: 0, // 双数计算动爻（0:双数求和计算动爻。1:双数求和加时辰数计算动爻）
                yearGanZhiSet: 2, // 年干支设置
                monthGanZhiSet: 1, // 月干支设置
                dayGanZhiSet: 0, // 日干支设置
                hourGanZhiSet: 0 // 时干支设置
            },
            sexOptions: [
                { value: 1, label: '男' },
                { value: 0, label: '女' }
            ],
            leapMonthOptions: [
                { value: 0, label: '非闰月' },
                { value: 1, label: '闰月' }
            ],
            dateTypeOptions: [
                { value: 0, label: '公历' },
                { value: 1, label: '农历' }
            ],
            qiGuaModeOptions: [
                { value: 0, label: '日期' },
                { value: 1, label: '数字' },
                { value: 2, label: '单数' },
                { value: 3, label: '双数' }
            ],
            shuangNumberInSxOptions: [
                { value: 0, label: '双数求和计算上下卦' },
                { value: 1, label: '双数不求和计算上下卦' }
            ],
            shuangNumberInDongOptions: [
                { value: 0, label: '双数求和计算动爻' },
                { value: 1, label: '双数求和加时辰数计算动爻' }
            ],
            renYuanTypeOptions: [
                { value: 0, label: '子平真诠法诀' },
                { value: 1, label: '渊海子平法诀' },
                { value: 2, label: '星平会海法诀' },
                { value: 3, label: '三命通会法诀' },
                { value: 4, label: '神峰通考法诀' },
                { value: 5, label: '万育吾之法诀' }
            ],
            yearGanZhiSetOptions: [
                { value: 0, label: '以正月初一作为新年的开始' },
                { value: 1, label: '以立春当天作为新年的开始' },
                { value: 2, label: '以立春交接时刻作为新年的开始' }
            ],
            monthGanZhiSetOptions: [
                { value: 0, label: '以节交接当天起算' },
                { value: 1, label: '以节交接时刻起算' }
            ],
            dayGanZhiSetOptions: [
                { value: 0, label: '晚子时日干支算当天' },
                { value: 1, label: '晚子时日干支算明天' }
            ],
            hourGanZhiSetOptions: [
                { value: 0, label: '支持早子时和晚子时' }
            ],


            // 数据
            data: {}, // 数据
            isData: false, // 数据状态（true:存在。false:不存在）
            dataPage: 1, // 数据显示界面（1:基础信息。2:更多信息）
            liuYaoIndex: [5, 4, 3, 2, 1, 0], // 六爻从上至下索引


            // 其他
            muColor: '#00ad00', // 五行木颜色
            huoColor: '#d40000', // 五行火颜色
            tuColor: '#b16400', // 五行土颜色
            jinColor: '#efa800', // 五行金颜色
            shuiColor: '#2e83f6', // 五行水颜色

        }
    },
    watch: {
    },
    created() {
        this.options.date = new Date();
    },
    mounted() {
        this.$refs.videoRef.addEventListener('ended', this.restartVideoMethod());
    },
    methods: {

        /**
         * 播放MP4
         */
        restartVideoMethod() {

            this.$refs.videoRef.currentTime = 0;
            this.$refs.videoRef.play();

        },

        /**
         * 开始排盘
         */
        paiPanMethod() {

            // 条件构造
            let query = this.options;

            // 发送请求
            paiPanApi(query).then((res) => {
                if (String(res.data.code) === '200' && null !== res.data.data) {
                    var data = res.data.data;

                    this.data = data; // 排盘数据

                    this.isData = true; // 数据状态（true:存在。false:不存在）

                }
            })

        },

        /**
         * 返回排盘
         */
        fanHuiPaiPanMethod() {

            this.isData = false; // 数据状态（true:存在。false:不存在）
            this.dataPage = 1; // 数据显示界面（1:基础信息。2:更多信息）

        },

        /**
         * 切换为基础信息
         */
        jiChuMethod() {

            this.dataPage = 1; // 数据显示界面（1:基础信息。2:更多信息）

        },

        /**
         * 切换为更多信息
         */
        gengDuoMethod() {

            this.dataPage = 2; // 数据显示界面（1:基础信息。2:更多信息）

        },

        /**
         * 通知提示（右上角弹出）
         * 
         * @param type 消息类型（success、warning、info、error）
         * @param duration 自动关闭延迟，0为不关闭（单位：毫秒）
         * @param title 标题
         * @param message 提示内容
         */
        notification(type, duration, title, message) {

            ElNotification({
                type: type,
                title: title,
                message: message,
                duration: duration,
                position: 'top-right',
                dangerouslyUseHTMLString: true
            })

        }

    }
}
